# __author__ = "ncll"
# __data__ = "2020/12/14 10:42"
#
# Python与mysql第一阶段验收考试
# （线上考试时长：60分钟，总分100分）

# 二、简答题: (每题6分，共30分)
# 11.什么是关键字？请写出4个Python中的关键字。
# 关键字是具有特殊功能的标识符

# Clsss def main break
#
#
# 12.请简述break和continue在循环中的作用及使用时的注意点。
# Break：跳出循环
# Continue：结束本次循环，继续执行下一次的循环
#
# 13.请简要说明如何定义函数和调用过程？
#
# 定义函数：用def关键字定义函数，格式如下：
#
# def 函数名():
#     代码
#
#
# 函数调用：通过函数名()
# 来调用该函数
#
# 14.
# varchar与char的区别？
# Char：长度固定
# Varchar：长度可变
#
# 15.
# 写出五个你常用的sql函数关键字？
# Select
# insert
# selete
# modify
# where
#
# 三、编程题：(第17、18，19题10分，第20、21题12分，共55分)

'''17.利用条件运算符的嵌套来完成此题：请输入成绩的分值，
如果学习成绩 >= 90分用A表示，
60 - 89分之间用B表示，
60分以下用C表示，将对应的结果输出'''


'''print("-----------17题开始----------")
a = input("请输入成绩：")
if a >= '90':
    print("A")
elif a >= '60':
    print("B")
else:
    print("C")'''

# 18.从键盘输入一个用户名和密码，判断是否正确:
# 如果正确则显示‘登录系统成功’;
# 否则显示‘用户名或密码错误’;
# 密码正确即退出，密码错误重新输入。
# 用户名：username = “username”   密码：password = “passwd”
'''print("---------- 第18题开始----------")
dic = {'user': "username", "pwd": "passwd"}
user_now = input("请输入用户名：\n")
pwd_now = input("请输入密码：\n")

if user_now == dic['user']:
    if pwd_now != dic["pwd"]:
        print("密码错误重新输入")
    else:
        print("登录系统成功")
else:
    print("用户名或密码错误")'''


# 19.定义一个学生类，属性有姓名（name）、年龄（age）、性别（sex），
# 方法有学习、休息，然后创建一个学生对象，调用学习和休息方法。
'''class Student:

    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

    def study(self):
        print("%s,%s岁,%s,在学习" % (self.name, self.age, self.sex))

    def rest(self):
        print("%s,%s岁,%s,在休息" % (self.name, self.age, self.sex))


stu = Student("cl", '18', '男')
stu.study()'''

# 20.
# 请代码实现：利用下划线将列表的每一个元素拼接成字符串，li = ['alex', 'eric', 'rain'] 。
'''li = ['alex', 'eric', 'rain']
str1 = ""
for i in li:
    str1 = str1 + i + "_"
print(str1[0:-1])'''

# 21.
# 求每门成绩都大于80的学生名字。
# （注意：不能有重复的名字出现，需要在一条语句中完成）
'''table:tb_user
name kecheng fenshu
张三	   语文	   81
张三	   数学	   75
李四	   语文	   76
李四	   数学	   90
王五	   语文	   81
王五	   数学	   100
王五	   英语	   90'''

import pymysql

db = pymysql.connect("192.168.6.227", "chenl", "chenl", "chenl", 3306)
cur = db.cursor()
# 插入数据
# sql = """insert into tb_user values
#       ('张三','语文','81'),('张三','数学','75'),
#       ('张三','语文','76'),('张三','数学','90'),
#       ('张三','语文','81'),('张三','数学','100'),('张三','英语','90') """
# 查询数据
sql = '''select distinct name from tb_user where name not in (select name from tb_user where fenshu <=80) '''
try:
    cur.execute(sql)
    db.commit()
    result = cur.fetchall()
    print("succees")
except Exception as res:
    print(res)
print(result)

db.close()

# 一、选择题：(每题2分，共20分)
# 1.
# 下面哪个不是Python合法的标识符：（）
# A：     40
# XL
# B：     self
# C： __name__
# D：  int32
#
# 2.
# 事务的四大特性其中包括：（）多选
# A：一致性
# B：分子性
# C：不可分割性
# D：持久性
#
# 3.
# 下列说法错误的是：（）
# A： 类名一般使用大驼峰法命名
# B： 类一般由类的名称、类的属性、类的方法构成
# C： 一个类只能创建出一个对象
# D： 类中的方法，有的可以有return也可以没有return
#
# 4.
# 下列选项中，哪个是集合：（）
# A：  set([1, 3, 5, [6]])
# B： {1, 3, 5, (6)}
# C：    以上都不是
# D： {(1, 3, 5), [6]}
#
# 5.
# 以下不能创建一个字典的语句是：（）
# A：    dict2 = {3: 5}
# B： dict3 = {[1, 2, 3]:”uestc”}
# C： dict4 = {(1, 2, 3):”uestc”}
# D： dict1 = {}
#
# 6.
# 若a = True, b = False, 则
# a and b返回的结果为：（）
# A：     2
# B： True
# C： False
# D： -1
#
# 7.
# 以下描述错误的是：（）
# A：    当Python程序发生异常时我们需要捕获处理它，否则程序会终止执行
# B：    try/ except语句用来检测try语句块中的错误，从而让except语句捕获异常信息并处理
# C：except后必须加上异常类型
# D：    在Python无法正常处理程序时就会发生一个异常
#
# 8.
# 如果列表list = [[2, 3, 4], [4, [5, [6], 7], 8], [8, 9]], 以下选项能取出列表里面6的值：（）
# A： list[1][1][0]
# B： list[1][1][1][0]
# C： list[6]
# D： list[1][2]
#
# 9.
# 以下关于“魔法”方法的说法错误的是：（）
# A：     __init__方法不可以有返回值
# B： __del__在对象的引用计数减少的时候被调用
# C：  __str__方法必须有返回值
# D： __new__方法返回的是具体的实例对象
#
# 10.
# a_list = [1, 2, 3], b_list = a_list.append(4)
# print(b_list)
# 结果是（）
# A：[1, 2, 3]
# B：    [1, 2]
# C： None
# D：    [1, 2, 3, 4]






